package outputstream01;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

/*
* FileOutputStream(String name)
*       name:传入一个文件路径
          创建一个向具有指定名称的文件中写入数据的输出文件流。
          1.如果传入的文件路径在硬盘不存在，那么该构造方法会抛出FileNotFoundException
          2.如果传入的的文件路径在硬盘存在且该路径没有该文件，那么构造方法会为我们创建一个空白文件
          3.如果传入的的文件路径在硬盘存在但是该路径已有该文件，那么构造方法会为清空该文件内容
  成员方法:
 *    void write(int b)
 *              将指定字节写入此文件输出流。
 *    void close()
 *  *           关闭此文件输出流并释放与此流有关的所有系统资源。
 * 通过FileOutputStream向文件中写内容的步骤:
 *   1.通过输出流关联一个文件1.txt
 *   2.通过write方法向1.txt中写字节
 *   3.关流释放资源
 *   注意:写动作一定是在close之前,因为close关流后,底层IO资源已经释放,无法在使用
* */
public class FileOutPutStream01 {
    public static void main(String[] args) throws IOException {
        //method01();
        method02();

        // 向文件中写入内容100    不能直接写100  先写1然后写0最后写0
        FileOutputStream fos = new FileOutputStream("day23/1.txt");
        fos.write(49);
        fos.write(48);
        fos.write(48);
        fos.close();

    }

    private static void method02() throws IOException {
        FileOutputStream fos = new FileOutputStream("day23/1.txt");
        fos.write(97);
        fos.write(65);
        fos.write(98);    // 写入的是 aAb

        fos.close();
    }

    private static void method01() throws IOException {
        FileOutputStream fos = new FileOutputStream("day23/1.txt");
        fos.write(97);
        fos.close();
    }
}
